Option Strict On
Option Explicit On 

Imports System
Imports System.Object

'This class implements the base FGDC/NBII Citation Information section.
Public Class CiteInfo
    Private m_strAuthor As String = ""
    Private m_strPubDate As String = ""
    Private m_strPubTime As String = ""
    Private m_strTitle As String = ""
    Private m_strEdition As String = ""
    Private m_strGeoform As String = ""
    Private m_strSerName As String = ""
    Private m_strIssue As String = ""
    Private m_strPubPlace As String = ""
    Private m_strPublisher As String = ""
    Private m_strOtherCit As String = ""
    Private m_strLink As String = ""

    Public Function clone() As CiteInfo
        clone = CType(Me.MemberwiseClone, CiteInfo)
    End Function
    Property Author() As String
        Get
            Author = m_strAuthor
        End Get
        Set(ByVal Value As String)
            If (Value = "") Then
                m_strAuthor = "Unknown"
            Else
                m_strAuthor = Value
            End If
        End Set
    End Property

    Public Property PubDate() As String
        Get
            PubDate = m_strPubDate
        End Get
        Set(ByVal Value As String)
            m_strPubDate = Value
        End Set
    End Property

    Public Property PubTime() As String
        Get
            PubTime = m_strPubTime
        End Get
        Set(ByVal Value As String)
            m_strPubTime = Value
        End Set
    End Property

    Property Title() As String
        Get
            Title = m_strTitle
        End Get
        Set(ByVal Value As String)
            m_strTitle = Value
        End Set
    End Property

    Property Edition() As String
        Get
            Edition = m_strEdition
        End Get
        Set(ByVal Value As String)
            m_strEdition = Value
        End Set
    End Property

    Property Geoform() As String
        Get
            Geoform = m_strGeoform
        End Get
        Set(ByVal Value As String)
            m_strGeoform = Value
        End Set
    End Property

    Property SerialName() As String
        Get
            SerialName = m_strSerName
        End Get
        Set(ByVal Value As String)
            m_strSerName = Value
        End Set
    End Property

    Property Issue() As String
        Get
            Issue = m_strIssue
        End Get
        Set(ByVal Value As String)
            m_strIssue = Value
        End Set
    End Property

    Property PubPlace() As String
        Get
            PubPlace = m_strPubPlace
        End Get
        Set(ByVal Value As String)
            m_strPubPlace = Value
        End Set
    End Property

    Property Publisher() As String
        Get
            Publisher = m_strPublisher
        End Get
        Set(ByVal Value As String)
            m_strPublisher = Value
        End Set
    End Property

    Property OtherCit() As String
        Get
            OtherCit = m_strOtherCit
        End Get
        Set(ByVal Value As String)
            m_strOtherCit = Value
        End Set
    End Property

    Property URLink() As String
        Get
            URLink = m_strLink
        End Get
        Set(ByVal Value As String)
            m_strLink = Value
        End Set
    End Property

End Class
